package com.jiayi.api;

import java.util.List;
import com.jiayi.common.core.page.TableDataInfo;
import com.jiayi.data.entity.schema.JiayiProductType;
import com.jiayi.data.entity.bo.JiayiProductTypeBO;
import com.jiayi.data.entity.request.JiayiProductTypeRequest;
import com.jiayi.data.entity.request.JiayiProductTypeSearchRequest;
import com.jiayi.data.entity.request.JiayiProductTypeSearchPageRequest;
import com.jiayi.data.entity.response.JiayiProductTypeDTO;
import javax.servlet.http.HttpServletResponse;


/**
 * 产品展示类型Service接口
 *
 * @author zzx
 * @date 2024-11-26
 */
public interface JiayiProductTypeService {
    /**
     * 查询产品展示类型
     *
     * @param id 产品展示类型主键
     * @return 产品展示类型
     */
    public JiayiProductTypeDTO selectJiayiProductTypeById(Long id);

    /**
     * 查询产品展示类型列表 分页
     *
     * @param request 产品展示类型
     * @return 产品展示类型集合
     */
    public TableDataInfo selectJiayiProductTypeList(JiayiProductTypeSearchPageRequest request);

    /**
     * 查询产品展示类型列表 不分页
     *
     * @param request 产品展示类型
     * @return 产品展示类型集合
     */
    public List<JiayiProductType> selectJiayiProductTypeList(JiayiProductTypeSearchRequest request);

    public List<JiayiProductTypeDTO> selectJiayiProductTypeListByIds(Long...ids);
    public List<JiayiProductTypeDTO> selectJiayiProductTypeAncestryList();

    /**
     * excel 导出 全量
     *
     * @param request 产品展示类型
     */
    public void export(JiayiProductTypeSearchRequest request, HttpServletResponse response);

    /**
     * 新增产品展示类型
     *
     * @param request 产品展示类型
     * @return 结果
     */
    public int insertJiayiProductType(JiayiProductTypeRequest request);

    /**
     * 修改产品展示类型
     *
     * @param request 产品展示类型
     * @return 结果
     */
    public int updateJiayiProductType(JiayiProductTypeRequest request);

    /**
     * 批量删除产品展示类型
     *
     * @param ids 需要删除的产品展示类型主键集合
     * @return 结果
     */
    public int deleteJiayiProductTypeByIds(Long[] ids);

    /**
     * 删除产品展示类型信息
     *
     * @param id 产品展示类型主键
     * @return 结果
     */
    public int deleteJiayiProductTypeById(Long id);



}
